Cognitive user identification recommendation

ABSTRACT

Embodiments of the present invention provide a method, system and computer program product for cognitive user identification recommendation. In an embodiment of the invention, a method for cognitive user identification recommendation includes monitoring typing patterns of an end user as the end user enters data in different fields of different applications of a computing device having a device type and categorizing each of the fields and applications according to field type and application type. The method further includes generating a data structure mapping the user typing patterns to each type of field and application to model user input behavior of the end user. The method also includes transmitting the data structure to a requesting application for prompting the end user to provide a particular type of password mapped to the modeled user input and consistent with a field type of the password and a type of requesting application.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to the field of username and passwordgeneration in an application and more particularly to the variableproposition of a password for use in authenticating into an application.

Description of the Related Art

Cognitive science incorporates aspects of psychology, neurology andcomputer science, as well as many other branches of sciences, to studyhow the human brain and psyche function. Pattern recognition is afundamental aspect of cognitive science and forms the basis of ourunderstanding of many psychological phenomena. Essentially, cognitivepattern recognition occurs when an event perceived in short-term memoryis matched to a pattern stored in long-term memory. Pattern recognitionallows the brain to recognize and predict many events that occur ineveryday life. Pattern recognition also allows for a more efficient wayfor human to store memory into long-term memory.

In our daily life, humans are flooded with many new things to rememberthat are not easily stored in long-term memory. Therefore, in regards tousernames and passwords, oftentimes end users will use easy-to-rememberpasswords throughout various platforms, which may be easily broken bycurrent cryptography methods. In order to provide end users with morecomplex passwords, programs may automatically generate secure passwords.However, as these random generated passwords are hard to remember, userswill often choose to use their own, less-secure password because theirown password is easier to remember. Alternatively, the end user maystore the generated password in an unsecure location. Thus, there is aneed for secure passwords that are easy for an end user to remember.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art inrespect to username and password recommendation and provide a novel andnon-obvious method, system and computer program product for cognitiveuser identification recommendation. In an embodiment of the invention, amethod for cognitive user identification recommendation includesmonitoring typing patterns of an end user as the end user enters data indifferent fields of different applications of a computing device havinga device type and categorizing each of the applications according toapplication type and each of the fields according to field type. Themethod further includes generating a data structure mapping the usertyping patterns to each type of field and each type of application, thedata structure modeling user input behavior of the end user. The methodeven further includes transmitting the data structure to a requestingapplication for use by the requesting application in prompting the enduser to provide a particular type of password mapped to the modeled userinput and consistent with a field type for which the password isrequired and a type of the requesting application.

In one aspect of the embodiment, the typing patterns of the end user arefurther monitored in different devices, each of the devices arecategorized according to device type, the generated data structurefurther maps the user typing patterns to each type of device, and theparticular type of password is further consistent with a type of devicein which the requesting application executes. In another aspect of theembodiment, the user typing patterns comprise an amount of repetitionsof a field before a field is correctly entered. In yet another aspect ofthe embodiment, the user typing patterns comprise typing speeds ofdifferent characters. In even yet another aspect of the embodiment, theuser typing patterns comprise a preferred character.

In another embodiment of the invention, a data processing systemconfigured for cognitive user identification recommendation has beenclaimed. The system includes a host computing system comprising memoryand at least one processor, fixed storage coupled to the host computingsystem and a user behavior analysis and user identificationrecommendation module. The module includes computer program instructionsexecuting in the memory of the host computing system that upon executionare adapted to perform: monitoring typing patterns of an end user as theend user enters data in different fields of different applications of acomputing device having a device type, categorizing each of theapplications according to application type and each of the fieldsaccording to field type, generating a data structure mapping the usertyping patterns to each type of field and each type of application, thedata structure modeling user input behavior of the end user andtransmitting the data structure to a requesting application for use bythe requesting application in prompting the end user to provide aparticular type of password mapped to the modeled user input andconsistent with a field type for which the password is required and atype of the requesting application.

Additional aspects of the invention will be set forth in part in thedescription which follows, and in part will be obvious from thedescription, or may be learned by practice of the invention. The aspectsof the invention will be realized and attained by means of the elementsand combinations particularly pointed out in the appended claims. It isto be understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this specification, illustrate embodiments of the invention andtogether with the description, serve to explain the principles of theinvention. The embodiments illustrated herein are presently preferred,it being understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown, wherein:

FIG. 1 is a pictorial illustration of a process for cognitive useridentification recommendation;

FIG. 2 is a schematic illustration of a data processing systemconfigured for cognitive user identification recommendation; and,

FIG. 3 is a flow chart illustrating a process for cognitive useridentification recommendation.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the invention provide cognitive user identificationrecommendation by analyzing the typing or input patterns of an end userin order to identify the preferred typing or input patterns of the enduser. In accordance with an embodiment of the invention, the typingpatterns of users in different types of fields of different types ofapplications of different types of devices are monitored, categorizedand mapped in a data structure. From the mapping, the preferred typingpatterns of the end user are determined for different types of fields ofdifferent types of applications of different types of devices.Thereafter, in response to a request for a user identificationrecommendation for a field of an application of a device, such as ausername or password, the preferred typing pattern of the end user,along with the user identification requirements, such as password lengthand character types, are used to generate a recommendation. In this way,deep behavioral user analysis is used to generate an affinity model ofpreferred patterns of the end user, so that the end user can easilyremember the recommended username or password.

In further illustration, FIG. 1 pictorially shows a process forcognitive user identification recommendation. The typing patterns of enduser 110 in different fields of different application of differentdevices are monitored by a device or application 120. Device orapplication 120 may include any type of monitoring agent to capture howthe user interacts with their various devices. User behavior mappinglogic 130 analyzes the monitored behavior patterns of end user 110 inorder to categorize and map the user's behavior in the different typesof fields of the different types of applications of the different typesof devices in user typing behavior mapping 135.

User behavior mapping logic 130 may utilize natural language processingin order to determine the types of fields, types of applications andtypes of devices that are being utilized by the end user. Examples ofthe types of devices may include computers, phones or tablets. Examplesof the types of applications may include social media accounts, workapplications, e-mail applications or a login for a phone. Examples ofthe types of fields may include login name, password, responsevalidation, other input validated fields and generic fields. It is notedthat the above examples of the types of devices, applications, andfields are non-exhaustive and may include any device, application orfield that the end user is required to input information into a field.

As can be seen, user typing behavior mapping 135 includes an associationmatrix to analyze the user preference of the various categories. Usertyping behavior mapping 135 may include additional or fewer categoriesbased on the determined relevance of the category. In the example shownin FIG. 1, user behavior mapping logic 130 through the monitoring deviceor application 120 extracts the following information into user typesbehavior mapping 135: the name of the application; the category or typeof application; the type of field, such as password or username; thevalue or the user's input into that field; how many times the userrepeated the input before it was accepted; the typing speed of the user;the number of digits the end user uses to type the input; the reactiontime of the end user to begin entering the input; the types ofcharacters in the input; the type of device; and the dominance of theuser's hand. The values in the association matrix of user typingbehavior mapping 135 are utilized to determine the user's preferredtyping patterns.

User behavior preferences logic 140 may then utilize user typingbehavior mapping 135 to determine the user's affinity for differentinputs and patterns to various types of fields of types of applicationsof types of devices. As can be seen from the example shown in usertyping preferences 145, for the password field, of a phone loginapplication category, of a phone category of devices, the userpreferences includes: input on the numeric pad; in the lower rightquadrant; a preferred character of 9; a maximum repeated entries of 3; aradius of 2, which is the distance in characters of the furthestcharacter from some central character or the preferred character; andsequence of AF001, which is the unique pattern identifier that may bestored in a central repository.

In response to an application 150 sending a password recommendationrequest 160, username recommendation request, or any request thatinvolves the end user 110 to type an input into a field, password oruser identification recommendation logic 180 utilizes user typingpreferences 145 and the password or user identification requirements 170to generate a cognitive password recommendation 190 for the end user110. The password or user identification requirements 170 may includeany requirements of the field of the application of the device, such aspassword length or character type requirements. The end user 110 may befurther monitored to determine the end user's affinity with therecommended password and machine learning may be utilized to optimizethe user identification recommendation logic 180.

The process shown in FIG. 1 may be implemented in a computer dataprocessing system. In further illustration, FIG. 2 schematically shows adata processing system adapted for cognitive user identificationrecommendation. The system includes at least one processor 270 andmemory 260 and fixed storage 250 disposed within the system. The systemcommunicates over a network 240 with a monitoring device or application230 that monitors the user behavior with different types of fields ofdifferent types of applications 220 in different types of devices 210.

Importantly, the behavior analysis and password/user identificationrecommendation module 300 is in communication with the system. Thebehavior analysis module and password/user identification recommendationmodule 300 categorizes and maps the user's behavior to the differenttypes of fields of different types of applications of different types ofdevices. The behavior analysis module and password recommendation module300 may utilize natural language processing to determine the type offield, type of application and type of device in order to categorize andmap the input to the field, application and device. The behavioranalysis module and password/user identification recommendation module300 may then determine the end user's preferences for various types offields of types of applications of types of devices. Thus, in responseto a recommendation request for a field from an application 220operating in a device 210, the behavior analysis module andpassword/user identification recommendation module 300 determines theuser's preferences for the type of field, type of application and typeof device and generates a cognitive user identification recommendationthat complies with the requirements of the field of the application ofthe device.

In even yet further illustration of the operation of the behavioranalysis and password/user identification module 300, FIG. 3 is a flowchart illustrating an exemplary process for cognitive useridentification recommendation. Beginning in block 310, the typing orinput behavior patterns of an end user are monitored for differentfields of different application of different devices. In block 320, thepatterns of the end user are categorized based on the type of field,type of application and type of device. The type of field, type ofapplication and type of device may be determined through naturallanguage processing. In block 330, the patterns of the end user aremapped to each type of field of each type of application of each type ofdevice.

In block 340, using the mapping of block 330, the preferred patterns ofthe end user are determined for each type of field of each type ofapplication of each type of device. In block 350, a request for apassword recommendation is received from an application that the enduser is utilizing. In block 360, the password requirements aredetermined and, in block 370, the type of field, type of application andtype of device of the request is determined. In block 380, using thepreferred patterns of the end user, a cognitive recommendation, such asa username or password, is generated, so that the user is more likely toremember the user identification recommendation, as opposed to a randomgenerated recommendation.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server.

In the latter scenario, the remote computer may be connected to theuser's computer through any type of network, including a local areanetwork (LAN) or a wide area network (WAN), or the connection may bemade to an external computer (for example, through the Internet using anInternet Service Provider). In some embodiments, electronic circuitryincluding, for example, programmable logic circuitry, field-programmablegate arrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

We claim:
 1. A method for cognitive user identification recommendationcomprising: monitoring typing patterns of an end user as the end userenters data in different fields of different applications of a computingdevice having a device type; categorizing each of the applicationsaccording to application type and each of the fields according to fieldtype; generating a data structure mapping the user typing patterns toeach type of field and each type of application, the data structuremodeling user input behavior of the end user; and, transmitting the datastructure to a requesting application for use by the requestingapplication in prompting the end user to provide a particular type ofpassword mapped to the modeled user input and consistent with a fieldtype for which the password is required and a type of the requestingapplication.
 2. The method of claim 1, wherein the typing patterns ofthe end user are further monitored in different devices, each of thedevices are categorized according to device type, the generated datastructure further maps the user typing patterns to each type of device,and the particular type of password is further consistent with a type ofdevice in which the requesting application executes.
 3. The method ofclaim 1, wherein the user typing patterns comprise an amount ofrepetitions of a field before a field is correctly entered.
 4. Themethod of claim 1, wherein the user typing patterns comprise typingspeeds of different characters.
 5. The method of claim 1, wherein theuser typing patterns comprise a preferred character.
 6. A dataprocessing system configured for cognitive user identificationrecommendation, the system comprising: a host computing systemcomprising memory and at least one processor; fixed storage coupled tothe host computing system; a behavior analysis and user identificationrecommendation module comprising computer program instructions executingin the memory of the host computing system that upon execution areadapted to perform: monitoring typing patterns of an end user as the enduser enters data in different fields of different applications of acomputing device having a device type; categorizing each of theapplications according to application type and each of the fieldsaccording to field type; generating a data structure mapping the usertyping patterns to each type of field and each type of application, thedata structure modeling user input behavior of the end user; and,transmitting the data structure to a requesting application for use bythe requesting application in prompting the end user to provide aparticular type of password mapped to the modeled user input andconsistent with a field type for which the password is required and atype of the requesting application.
 7. The system of claim 6, whereinthe typing patterns of the end user are further monitored in differentdevices, each of the devices are categorized according to device type,the generated data structure further maps the user typing patterns toeach type of device, and the particular type of password is furtherconsistent with a type of device in which the requesting applicationexecutes.
 8. The system of claim 6, wherein the user typing patternscomprise typing speeds of different characters.
 9. The system of claim6, wherein the monitored typing patterns of the end user comprisedifferent typing speeds of different characters.
 10. The system of claim6, wherein the user typing patterns comprise a preferred character. 11.A computer program product for cognitive user identificationrecommendation, the computer program product comprising a computerreadable storage medium having program instructions embodied therewith,wherein the computer readable storage medium is not a transitory signalper se, the program instructions executable by a device to cause thedevice to perform a method comprising: monitoring typing patterns of anend user as the end user enters data in different fields of differentapplications of a computing device having a device type; categorizingeach of the applications according to application type and each of thefields according to field type; generating a data structure mapping theuser typing patterns to each type of field and each type of application,the data structure modeling user input behavior of the end user; and,transmitting the data structure to a requesting application for use bythe requesting application in prompting the end user to provide aparticular type of password mapped to the modeled user input andconsistent with a field type for which the password is required and atype of the requesting application.
 12. The computer program product ofclaim 11, wherein the typing patterns of the end user are furthermonitored in different devices, each of the devices are categorizedaccording to device type, the generated data structure further maps theuser typing patterns to each type of device, and the particular type ofpassword is further consistent with a type of device in which therequesting application executes.
 13. The computer program product ofclaim 11, wherein the user typing patterns comprise an amount ofrepetitions of a field before a field is correctly entered.
 14. Thecomputer program product of claim 11, wherein the user typing patternscomprise typing speeds of different characters.
 15. The computer programproduct of claim 11, wherein the user typing patterns comprise apreferred character.